In the present description, the term network hereby designates an ordinary network based on the internet protocol (IP) technology. The network can be a local area network (LAN), an intranet of an enterprise or even the (public) internet. The term node designates the computer systems in the network, such as the work stations, servers and routers, etc that are included in the network.
A first user associated with a first node of the network might for example wish to send data packets in a so called multicast to a group of users, wherein each user of the group of users is working on a node of the network. Data packets hereinbelow are also denoted as IP datagrams. If the group of users comprises N users, then the first user must send N−1 messages to the remaining users. The remaining users might wish to answer the multicast message of the first user. In consequence, each node associated with the group of users needs to communicate with the N−1 nodes of the other users. To do this, each node can establish a session with each other node, e.g., by use of a transmission control protocol (TCP) or by use of a user datagram protocol (UDP). The number of sessions can be considerably large in a network which comprises hundreds or thousands of nodes. The sessions can therefore consume a large amount of the available network resources and can have a significant impact in terms of bandwidth consumption in the network. Furthermore, in each node, the establishment of the TCP sessions requires data processing resources and the maintenance of these TCP sessions requires memory in particular to store the context of the TCP sessions (TCP control block).
WO 2005/060156 A1 describes the concept of a virtual ring and is hereby fully incorporated by reference. According to WO 2005/060156 A1, a plurality of nodes of a network can be connected to form the virtual ring within the network. Each node of the virtual ring only communicates with its upstream neighbor node and with its downstream neighbor node. No node of the virtual ring has the complete view of the ring. In a virtual ring, a node only receives messages from its upstream neighbor and sends messages to its downstream neighbor. The total amount of sessions that have to be established between the nodes in order to send a multicast message to all nodes of the virtual ring is therefore drastically reduced in comparison with the concept described before. Thus the bandwidth utilization in the network can be drastically reduced when a virtual ring is used to share messages between a group of nodes.
One of the nodes participating in the virtual ring provides a virtual ring manager. The virtual ring manager manages the topology of the virtual ring and is in particular responsible for the insertion of new nodes into the virtual ring and the removal of nodes from the virtual ring. In principle, any new node can become a member of the virtual ring. Furthermore, the messages exchanged between neighbor nodes of the virtual ring can be easily intercepted and read or manipulated by an unauthorized person.